
def morse_code_encryption(txt):
    """接收明文字符串为参数，返回用摩斯密码加密后的字符串。"""
    # 补充你的代码

    dic = {'a': '.-', 'b': '-...', 'c': '-.-.', 'd': '-..', 'e': '.', 'f': '..-.',
           'g': '--.', 'h': '....', 'i': '..', 'j': '.---', 'k': '-.-', 'l': '.-..',
           'm': '--', 'n': '-.', 'o': '---', 'p': '.--.', 'q': '--.-', 'r': '.-.',
           's': '...', 't': '-', 'u': '..-', 'v': '...-', 'w': '.--', 'x': '-..-',
           'y': '-.--', 'z': '--..', ' ': ' '}

    num = len(txt)
    Morsecode = ''
    for i in range(num):
        if txt[i] in dic:
            Morsecode += str(dic[txt[i]])
    return Morsecode


import RPi.GPIO as GPIO
import time
def flash(morse):
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    Power4GPin = 16
    GPIO.setup(Power4GPin,GPIO.OUT)
    #GPIO.output(Power4GPin,GPIO.LOW)
    GPIO.output(Power4GPin,GPIO.HIGH)
    for i in range(len(morse)):
        if morse[i] == ' ':
            time.sleep(1)
            continue
        GPIO.output(Power4GPin, 1)
        if morse[i] == '.':
            time.sleep(1)
        if morse[i] == '-':
            time.sleep(3)
        GPIO.output(Power4GPin, 0)
        time.sleep(0.1)


if __name__ == '__main__':
    plaintext = input().lower()  # 输入一个字符串并转为小写
    morse = morse_code_encryption(plaintext)  # 调用函数，并输出返回值
    print(morse)  # 调用函数，并输出返回值
    flash(morse)

